package cn.isjinhao.se.sql.grammar;

import cn.isjinhao.se.sql.DumbErrorReporterDelegate;
import cn.isjinhao.se.sql.ErrorReporter;

/**
 * @Author ISJINHAO
 * @Date 2021/7/29 14:27
 */
public abstract class ErrorReportableCurdStatementVisitor<R> implements CurdStatementVisitor<R>, ErrorReporter {

    protected ErrorReporter errorReporter = new DumbErrorReporterDelegate();

    public ErrorReportableCurdStatementVisitor(ErrorReporter errorReporter) {
        this.errorReporter = errorReporter;
    }

    public ErrorReportableCurdStatementVisitor() {
    }

    @Override
    public void error(int errorCode) {
        errorReporter.error(errorCode);
    }

    public void setErrorReporter(ErrorReporter errorReporter) {
        this.errorReporter = errorReporter;
    }

}
